package com.estore.service;

import com.estore.model.Product;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Comparator;

/**
 * 商品服务类，负责商品相关的业务逻辑
 * 目前使用内存Map模拟数据库
 */
public class ProductService {

    public static final Comparator<Product> BY_PRICE_ASC =
            Comparator.comparingDouble(Product::getPrice);

    // 按商品价格从高到低排序
    public static final Comparator<Product> BY_PRICE_DESC =
            BY_PRICE_ASC.reversed();

    // 按商品库存从多到少排序
    public static final Comparator<Product> BY_STOCK_DESC =
            Comparator.comparingInt(Product::getStock).reversed();
    // 假设存在一个静态的商品列表或获取商品的逻辑
    private static List<Product> products = new ArrayList<>();

    // 添加以下方法
    public static List<Product> getAllProducts() {
        return products; // 或者从数据库、文件等数据源获取
    }
    public static Product getProductById(String productId) {
        for (Product product : getAllProducts()) {
            if (product.getId().equals(productId)) {
                return product;
            }
        }
        return null;
    }


}